package com.ruoyi.basics.domain;

import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 货品管理对象 wms_goods
 *
 * @author ruoyi
 * @date 2025-06-09
 */
public class WmsGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 货品类型ID */
    @Excel(name = "货品类型ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long goodsTypeId;

    /** 编码 */
    @Excel(name = "编码")
    private String code;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 条码 */
    @Excel(name = "条码")
    private String barCode;

    /** 货主名称 */
    @Excel(name = "货主名称")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long ownerId;

    /** 质检方式 不处理:BCL、全检:QJ、抽检:CJ */
    @Excel(name = "质检方式 不处理:BCL、全检:QJ、抽检:CJ")
    private String inspectionType;

    /** 温度要求 常温:CW、冷藏:LC、恒温:HW */
    @Excel(name = "温度要求 常温:CW、冷藏:LC、恒温:HW")
    private String temperatureType;

    /** 承重要求 重型:ZX、轻型:QX */
    @Excel(name = "承重要求 重型:ZX、轻型:QX")
    private String bearingType;

    /** 体积 */
    @Excel(name = "体积")
    private BigDecimal volume;

    /** 仓库id */
    private Long warehouseId;

    /** 库区id */
    @Excel(name = "库区id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long areaId;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 保质天数 */
    @Excel(name = "保质天数")
    private Long guaranteeDay;

    /** ID */
    @Excel(name = "ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /** 状态 */
    private Integer status;

    /** 创建人id */
    private Long createUser;

    /** 创建人 */
    private String createName;

    /** 更新人id */
    private Long updateUser;

    /** 更新人 */
    private String updateName;

    /** 逻辑删除 0 删除 */
    private Integer logicDel;

    public void setGoodsTypeId(Long goodsTypeId)
    {
        this.goodsTypeId = goodsTypeId;
    }

    public Long getGoodsTypeId()
    {
        return goodsTypeId;
    }

    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }

    public void setBarCode(String barCode)
    {
        this.barCode = barCode;
    }

    public String getBarCode()
    {
        return barCode;
    }

    public void setOwnerId(Long ownerId)
    {
        this.ownerId = ownerId;
    }

    public Long getOwnerId()
    {
        return ownerId;
    }

    public void setInspectionType(String inspectionType)
    {
        this.inspectionType = inspectionType;
    }

    public String getInspectionType()
    {
        return inspectionType;
    }

    public void setTemperatureType(String temperatureType)
    {
        this.temperatureType = temperatureType;
    }

    public String getTemperatureType()
    {
        return temperatureType;
    }

    public void setBearingType(String bearingType)
    {
        this.bearingType = bearingType;
    }

    public String getBearingType()
    {
        return bearingType;
    }

    public void setVolume(BigDecimal volume)
    {
        this.volume = volume;
    }

    public BigDecimal getVolume()
    {
        return volume;
    }

    public void setWarehouseId(Long warehouseId)
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId()
    {
        return warehouseId;
    }

    public void setAreaId(Long areaId)
    {
        this.areaId = areaId;
    }

    public Long getAreaId()
    {
        return areaId;
    }

    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }

    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }

    public void setGuaranteeDay(Long guaranteeDay)
    {
        this.guaranteeDay = guaranteeDay;
    }

    public Long getGuaranteeDay()
    {
        return guaranteeDay;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    public void setCreateUser(Long createUser)
    {
        this.createUser = createUser;
    }

    public Long getCreateUser()
    {
        return createUser;
    }

    public void setCreateName(String createName)
    {
        this.createName = createName;
    }

    public String getCreateName()
    {
        return createName;
    }

    public void setUpdateUser(Long updateUser)
    {
        this.updateUser = updateUser;
    }

    public Long getUpdateUser()
    {
        return updateUser;
    }

    public void setUpdateName(String updateName)
    {
        this.updateName = updateName;
    }

    public String getUpdateName()
    {
        return updateName;
    }

    public void setLogicDel(Integer logicDel)
    {
        this.logicDel = logicDel;
    }

    public Integer getLogicDel()
    {
        return logicDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("goodsTypeId", getGoodsTypeId())
                .append("code", getCode())
                .append("name", getName())
                .append("barCode", getBarCode())
                .append("ownerId", getOwnerId())
                .append("inspectionType", getInspectionType())
                .append("temperatureType", getTemperatureType())
                .append("bearingType", getBearingType())
                .append("volume", getVolume())
                .append("warehouseId", getWarehouseId())
                .append("areaId", getAreaId())
                .append("price", getPrice())
                .append("unit", getUnit())
                .append("guaranteeDay", getGuaranteeDay())
                .append("id", getId())
                .append("status", getStatus())
                .append("remark", getRemark())
                .append("createUser", getCreateUser())
                .append("createName", getCreateName())
                .append("createTime", getCreateTime())
                .append("updateUser", getUpdateUser())
                .append("updateName", getUpdateName())
                .append("updateTime", getUpdateTime())
                .append("logicDel", getLogicDel())
                .toString();
    }
}